&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ПорядокСортировкиТаблицыРасхождений = Параметры.ПорядокСортировкиТаблицыРасхождений;
	МногострочныйТекст = СтрЗаменить(ПорядокСортировкиТаблицыРасхождений, ",", Символы.ПС);
	ЧислоСтрок = СтрЧислоСтрок(МногострочныйТекст);
	Для СчетчикСтрок = 1 По ЧислоСтрок Цикл
		
		ТекущаяСтрока = СтрПолучитьСтроку(МногострочныйТекст, СчетчикСтрок);
		ТекущийМногострочныйТекст = СтрЗаменить(ТекущаяСтрока, " ", Символы.ПС);
		СтрокаТЗ = ТЗПорядокСортировкиТаблицыРасхождений.Добавить();
		СтрокаТЗ.ИмяСтолбца = СтрПолучитьСтроку(ТекущийМногострочныйТекст, 1);
		СтрокаТЗ.ПорядокСортировки = СтрПолучитьСтроку(ТекущийМногострочныйТекст, 2);
	
	КонецЦикла;
	
	Элементы.ТЗПорядокСортировкиТаблицыРасхожденийИмяКолонки.СписокВыбора.Добавить("Ключ1", "Ключ 1");
	Элементы.ТЗПорядокСортировкиТаблицыРасхожденийИмяКолонки.СписокВыбора.Добавить("Ключ2", "Ключ 2");
	Элементы.ТЗПорядокСортировкиТаблицыРасхожденийИмяКолонки.СписокВыбора.Добавить("Ключ3", "Ключ 3");
	
	Для СчетчикРеквизитов = 1 По 5 Цикл
	
		Элементы.ТЗПорядокСортировкиТаблицыРасхожденийИмяКолонки.СписокВыбора.Добавить("РеквизитА" + СчетчикРеквизитов, "Реквизит А" + СчетчикРеквизитов);
	
	КонецЦикла;
	
	Для СчетчикРеквизитов =  1 По 5 Цикл
	
		Элементы.ТЗПорядокСортировкиТаблицыРасхожденийИмяКолонки.СписокВыбора.Добавить("РеквизитБ" + СчетчикРеквизитов, "Реквизит Б" + СчетчикРеквизитов);
	
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура КомандаНастройкаЗавершена(Команда)
	
	ЕстьОшибкиЗаполнения = Ложь;
	
	СформироватьПорядокСортировки();
		
	Для Каждого СтрокаТЗ Из ТЗПорядокСортировкиТаблицыРасхождений Цикл
	
		Если ПустаяСтрока(СтрокаТЗ.ИмяСтолбца) Тогда
			Сообщение = Новый СообщениеПользователю;
			Сообщение.Текст = "Не задан столбец";
			Сообщение.Поле = "ТЗПорядокСортировкиТаблицыРасхождений[" + (ТЗПорядокСортировкиТаблицыРасхождений.Индекс(СтрокаТЗ) + 1) + "].ИмяСтолбца";
			Сообщение.Сообщить(); 
			ЕстьОшибкиЗаполнения = Истина;
		КонецЕсли;
		
		Если ПустаяСтрока(СтрокаТЗ.ПорядокСортировки) Тогда
			Сообщение = Новый СообщениеПользователю;
			Сообщение.Текст = "Не задан порядок сортировки столбца";
			Сообщение.Поле = "ТЗПорядокСортировкиТаблицыРасхождений[" + (ТЗПорядокСортировкиТаблицыРасхождений.Индекс(СтрокаТЗ)) + "].ПорядокСортировки";
			Сообщение.Сообщить(); 
			ЕстьОшибкиЗаполнения = Истина;
		КонецЕсли;
	
	КонецЦикла; 
	
	Если ЕстьОшибкиЗаполнения Тогда
		Возврат;
	КонецЕсли;
	
	Закрыть(ПорядокСортировкиТаблицыРасхождений);
	
КонецПроцедуры

&НаКлиенте
Процедура ТЗПорядокСортировкиТаблицыРасхожденийПриИзменении(Элемент)
	
	СформироватьПорядокСортировки();
		
КонецПроцедуры

&НаКлиенте
Процедура СформироватьПорядокСортировки()
	
	ПорядокСортировкиТаблицыРасхождений = "";
	
	Для Каждого СтрокаТЗ Из ТЗПорядокСортировкиТаблицыРасхождений Цикл
		
		ПорядокСортировкиТаблицыРасхождений = ПорядокСортировкиТаблицыРасхождений + СтрокаТЗ.ИмяСтолбца + " " + СтрокаТЗ.ПорядокСортировки + ",";
	
	КонецЦикла; 
	
КонецПроцедуры
